Regulated gaming - compartmented freelance code

ABSTRACT

Compartmented system architecture and methods for enabling freelance game developers to (a) integrate their game software together with the slot manufacturer software and (b) tag their software such as to receive compensation based on the success of their games. The combined tagged freelance software and gaming manufacturer software may rapidly pass through certification testing and be downloaded overnight to a large number of gaming machines such as to offer players in casinos an unprecedented choice of new generation electronic games within a short timetable. Compartmenting for totally isolating the freelance graphics-rich game code from the slot supplier code may be carried by adopting the blue-screen paradigm in which the freelance code executes in a process sandbox and renders its entertainment outcome-free graphics in a totally isolated virtual background display plane while the slot supplier code renders its accounting graphics and outcome graphics in a virtual foreground display plane as small graphics gadgets animated over a transparent plane. The foreground and background display planes may then be mixed together and foreground moving outcome graphics gadgets may be synchronized in real-time with the moving outcome-free background graphics.

BACKGROUND OF THE INVENTION COPYRIGHT NOTICE/PERMISSION

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings referred to herein: Copyright 2006, Cyberscan Technology, Inc., All Rights Reserved.

CROSS-REFERENCE TO RELATED CASES

The subject matter of the present application is related to the subject matter of commonly assigned and co-pending patent application entitled “Regulated Gaming—Virtual Display”, Atty. Docket No. CYBS6004B, and is also related to the subject matter of commonly assigned and co-pending patent application entitled “Regulated Gaming Exchange”, Atty. Docket No. CYBS6004C, each application of which is being filed on even date herewith.

FIELD OF THE INVENTION

This invention relates generally to the field of regulated pay computer-controlled games, either games of skills or games of chance and more particularly to the field of integrating, certifying and downloading games developed by multi-parties and of building relationships between players and game operators to promote the games.

DESCRIPTION OF THE PRIOR ART AND RELATED INFORMATION

Presently game regulation essentially considers a slot machine as a standalone piece of equipment supplied entirely by a single vendor (e.g. IGT, WMS, Bally). Although standards now allow for some vendor interoperability between peripheral devices (e.g. hopper, bill accepter, ticket printer) and a central accounting system (e.g. IGT/GSA SAS Standard Accounting System protocol), a slot machine as delivered comprises essentially proprietary components developed and manufactured by a single supplier. In particular, game regulators have made no attempt to adapt their standards to enable the suppliers to leverage on the extraordinary multimedia capabilities of the PC platform and the advances in distributed network security. Consequently, the operating system and game software controlling a slot machine are proprietary and almost entirely developed by the supplier's software programmers, such as to meet regulatory requirements that are out of sync with main stream computing. It is worrying to see that current gaming regulation leaves no choice to the suppliers but to modify the source code of their operating system (e.g. Linux). This prevents them from continually benefiting from security peer review and from associated security upgrades developed by operating system experts. Consequently, the operating system of such gaming machines is considerably weakened and fractured, exposing the suppliers and game operators to stealth and focused hacking attacks.

It is reasonable to believe that sooner or later the standards formulated by the Trusted Computer Group (TCG) to secure distributed computer network will be adopted by game regulators. Therefore, well architectured and security-hardened commercial multimedia operating systems may be used by slot machine vendors, without needing to hack the kernel source code.

As an immediate result of adopting industry security standards, the vendors may allocate more resources to develop more attractive games and enable their download from a central system. However, present game regulation is such that the entire game software may only be developed by the slot supplier himself, thus significantly impeding suppliers from offering games inspired or derived from the best-of-breed and phenomenally popular game titles available on Xbox and PlayStation, or other games developed by freelance game developers. It is unlikely that the culture inside a slot manufacturer's game software engineering department would ever attract creative minds to create games on par with what is and will be available in the main stream gaming arena.

The path for freelance game development companies that would be looking at introducing their games and game technologies into the highly regulated casino marketplace has traditionally been a narrow and tortuous one. Historically, such companies have held only three real options: (a) to partner with an established casino game manufacturer such as IGT, Bally or WMS, (b) to sell their designs to an established game manufacturer, or (c) to attempt to create their own casino game manufacturing company. All of these paths are difficult to tread. For example, large legacy gaming companies have their own game creation studio, fully staffed with trained artists and trained software developers. As such, they are generally reluctant to introduce truly visionary game designs into their gaming libraries, as they have achieved a longstanding history of profitability with more conservative games revolving essentially around boring fruit-machine-like games, poker games and secondary games such as Wheel of Fortune and Mystery Jackpot.

A further limitation of the existing casino gaming marketplace is that game developers looking to start their own casino game manufacturing companies face several key obstacles, the most important of which being the lengthy and prohibitively expensive regulatory process that must be navigated to gain even a precarious foothold in the casino gaming market.

Most of all and sadly enough, there is no dialog between the game regulators and innovative gaming companies that would otherwise enter the regulated gaming market. This is because such innovative gaming companies most often do not have the coveted game license, which is required in every state. Therefore, promising freelance game development companies (such as those developing dazzling games for console-type platforms such as the Xbox and PlayStation for example or those developing PC-based games) that would be looking at introducing variants of their games into the highly regulated casino marketplace are, in effect, completely shut out. Indeed, the dazzling graphics rendered in such games rely upon constantly evolving PC and game console hardware and software technologies, including operating systems such as Microsoft Windows XP and forthcoming Vista. To their defense, the attitude of gaming regulators is understandable, as these game technologies are not well adapted for the highly regulated gaming environment, mainly because of security issues.

The Gaming Standard Association (GSA) is not helping the situation as it is formed by members that are in majority representatives of the influential established casino game manufacturers that have little interest in changing whatsoever. The gaming certification labs that are subcontracted by equipment suppliers to test and certify that their equipment meets applicable game regulation do indeed set gaming standards. These gaming certification labs also do not attempt to assume a leadership role to adapt their standards to lay the foundations on which new computer technologies could meet the security standards for the regulated gaming market. For these reasons, the progress that has been achieved in general computer security has gone largely unnoticed and innovative gaming companies are still barred from offering innovative gaming technologies. The legacy game manufacturers' stranglehold on casino gaming has excluded visionary game designers from fully participating in this market and has prevented game operators from offering the public the best possible games.

SUMMARY OF THE INVENTION

In is an object of the present invention to enable freelance game developers to offer dazzling electronic games to the regulated casino gaming marketplace. It is another object of the present invention to ensure that the freelance game developers receive compensation that is commensurate with the success of their games. A still further object of the present invention is to provide game operators with timely information to enable them to tailor their regulated game offerings based on demand and/or popularity of identical trial games that use only simulated money and that are made available to the public over an Internet portal. It is a further object of the present invention to provide players with the location of the casinos offering their favorite game(s) for playing with real money, together with the promotions offered if any. It is yet another object of the present invention to provide game operators with the contact information of the players and their list of favorite trial games, to enable them to offer incentives and to attract them to their casino. Another object of the present invention is to offer freelance game developers a method for developing, integrating licensing tags, testing and certifying secure downloadable electronic games, such that an unprecedented generation of advanced electronic games may be offered to players in casinos on a relatively short timetable.

It is another object of the invention to offer players, operators, licensed developers and freelance developers search means to query the regulated gaming exchange and obtain results structured according to the formulated query and related results (popularity ratings, most often requested queries, general promotional offers and specifically targeted promotional offers, for example).

In is another object of the present invention to offer the freelance game developers a compartmented architecture for developing, integrating licensing tags, testing and certifying secure downloadable electronic games such that an unprecedented generation of dazzling electronic games may be offered to players in regulated gaming places on a relatively short timetable. In is a further object of the present invention to ensure that the freelance game developers receive compensation based on the success of their games.

Accordingly, an embodiment of the present invention is compartmented system architecture and associated methods for enabling freelance game developers to (a) integrate their game software together with the gaming manufacturer software and (b) tag their software such as to receive compensation based on the success of their games. The combined tagged freelance software and gaming manufacturer software may rapidly pass through certification testing and be downloaded overnight to a large number of gaming machines such as to offer players in casinos an unprecedented choice of new generation electronic games within a relatively short timetable.

Compartmenting for totally isolating the graphics-rich freelance (and outcome-free) code from the slot supplier (and outcome-determining) code is obtained, according to an embodiment of the present invention, by adopting a blue-screening paradigm wherein the freelance code executes in a process sandbox and renders its entertainment outcome-free graphics in a totally isolated background display plane while the slot supplier code renders its accounting graphics and outcome graphics in a foreground display plane as small graphics gadgets over a neutral plane. The foreground and background display planes are mixed together using the pervasive blue-screening paradigm used in TV studio programs, and foreground moving outcome graphics gadgets are synchronized in real-time with the moving outcome-free background graphics.

Outcome-Free Graphics Background

The entertainment “outcome-free graphics” background (A) and the synchronized moving “outcome graphics gadgets” foreground (B) is best understood using a horse racing game as an example. The horse racing animation may be rendered in a background plane by the freelance code executing in a process sandbox using pre-recorded video or realistic real-time 3D animation. The rendering is such that each horse number indicia usually printed on the horse's saddle blanket is totally obfuscated or otherwise obscured. Consequently, it impossible when watching the rendered horse race to determine which horse is leading and will likely win the race, and what the order of the other horses will be across the finish line. In addition, other features that may help in identifying the horse such as the jockey's jacket color and horse skin color may also be obfuscated. Moreover, the voice-over or sound may not give any indication of the leading horses. Thus, the background plane may constitute a dazzling entertaining scene, complete with realistic sound of hooves and cheering crowds, that is free from any markings (i.e. numbers, colors, shapes) that would reveal or otherwise suggest the outcome of the race.

According to an embodiment of the present invention, the horse (or other race or entrant or team player) number indicia (which gives an indication of the outcome of the game) may be rendered in a foreground plane as graphic gadgets by the certified slot supplier code executing in a process sandbox isolated from the uncertified freelance process running in another sandbox. In addition, according to embodiments of the present invention, the motion, displacement and animation of each graphic gadget is synchronized with the freelance background such that each graphic gadget is rendered over a predetermined target (in the horse race example developed herein, a predetermined horse saddle blanket). The combined background and foreground scene then gives the viewer the capability to identify the leading horses. Similarly, the jockey's jacket colors, horses' true color and other features may be rendered in the same synchronized manner. A game outcome process seeded by a random number generator may provide the graphics gadgets with the random numbers that will be used to render the random indicia on the horse saddle blanket.

Motion Synchronization

The motion synchronization of outcome gadgets over the associated obfuscated area in the outcome-free animation background scene may be carried out, according to embodiments of the present invention, via pre-computed trajectory paths or frame-by-frame. The motion synchronization may utilize, without limitation, one or more of the following technologies and/or methods: a 2D trajectory path, a 3D trajectory path, location, scale, rotation, velocity and/or camera angle, for example. The computer processing and rendering of the outcome-free animation background (e.g. an XBOX or other game console or a PC) may be separate from the slot machine controller (e.g. a PC) processing the game outcome and rendering the outcome gadgets. A dual-ported video-mixer may combine the outcome-free animation background and the outcome graphic gadgets, the motion synchronization being carried out (a) via a suitable direct interface between the two computers using remote procedure call (RPC), Microsoft .NET Remoting (for example) or an IP service, or (b) by real-time image analysis and tracking under the control of the slot machine supplier software using the motion capture paradigm used in cinematography, for example. The dual-ported video-mixer may be a custom ASIC.

Outcome Graphic Gadget Rendering

The graphic gadget may render the horse number and other outcome related features using direct (a) 2D polyline/bezier draw and color fill, (b) triangles and color fill and/or (c) texturing. Path, location, scaling, rotation, 2D projection, illumination sources and other viewing attributes may be provided directly by the freelance software through a secure interface or may be derived from the freelance graphics by motion capture and capture of other scene attributes. Other overlay rendering technique may be used. Rendering of an outcome onto a 2D target is called hereafter a “2D outcome asset.”

An embodiment of the invention includes a freelance software that exposes through a secure interface a “neutral” 3D animated geometry (via a surface, NURBS curves or other 3D modeling technique) on which the graphic gadget would project a 3D skin. Rendering of an outcome onto a 3D target is hereafter called a “3D outcome asset.” For example, the freelance software may expose a neutral sphere located in space together with scale and rotation attributes, and the graphic gadget may render a skin projection representing the planet earth, the moon, mars, or any other planet as determined by a game outcome. A given planet, in this example, would be 3D asset. Similarly, the freelance software may expose a “cavity” surface located in space together with scale, rotation, etc . . . in which the gadget may render a 3D fruit such as a cherry, a strawberry, a banana etc., as determined by a game outcome. A given fruit is a 3D asset. Rendering a skin over a surface is commonly practiced in 3D modeling for industrial design (refer to www.rhino3d.com), for example.

Accounting Meters

Other video assets such as the accounting meters may be controlled and rendered by the slot machine supplier software. Interactive video assets having a role in the outcome determination such as wager selections, line selection, chip selection and the bet button may also be controlled and rendered by the slot machine supplier software. Graphic gadgets may be used to render the accounting meters and the interactive video assets, and to activate the interactive video assets.

Space Controller

The rendering of all the animated outcome graphic gadgets may be controlled by a space controller ensuring that they appears at the proper location with the proper viewing attributes for a seamless integration with the dazzling entertainment background.

Playback

For each bet session, the identifiers of all the associated outcome assets together with their paths and viewing attributes as well as the identifier of the background animation may be recorded such that a playback of the complete bet session may be replayed. This may be used for dispute resolution during a player complaint.

Regulatory

The freelance binary code may execute in a process sandbox and may render its entertainment outcome-free graphics in a totally isolated background video plane. The software code that is responsible for producing the game outcome and rendering the game outcome assets is totally under the control of the slot supplier and may not be interfered with by unauthorized processes. Consequently, the freelance code need not be subjected to a full regulatory certification cycle, in which traditionally the entire source code is submitted to the lab, examined, compiled and tested according to stringent test cases. The freelance code may be classified similarly to a commercial operating system that is not subjected to full regulatory certification cycle.

Gaming Exchange

The present Regulated Gaming Exchange or Gaming Exchange Portal enables freelance game developers to offer new and dazzling electronic games to the regulated gaming marketplace and to receive compensation based on the success of their games. The games may be available as an unregulated trial download that allows wagering using only simulated or virtual money. Operators of regulated gaming machines may also download regulated versions of the same games from the Regulated Gaming Exchange for execution on regulated gaming machines. Usage metrics may be collected to determine the popularity of the unregulated trial games. The regulated gaming exchange may include a first repository that is selectively accessible to home players over a computer network, and a second repository that is selectively available over the computer network to operators of regulated gaming machines. The first repository may store an unregulated first version of a game that is configured for game play on a home computing device such as a computer or gaming console, for example. The unregulated first version of the game may be uncertified by a gaming software certification laboratory and may include a first outcome-free game portion and a first outcome-bearing game portion. The unregulated first version of the game is configured, according to embodiments of the present invention, to enable wagering only with virtual money.

The second repository may store a regulated second version of the game that is configured for game play on a regulated gaming machine and that is certified by the gaming software certification laboratory. The regulated second version of the game may include a second outcome-free game portion and a second outcome-bearing game portion. In contrast to the first version of the game, the second version of the game being may be configured to enable wagering with real money. The second outcome-free game portion may be substantially identical to the first outcome-free game portion.

Search Portal

The regulated gaming Exchange portal may include search functionalities, enabling players, freelance developers or game operators to formulate and receive answers for their search queries. A master index of information within the Regulated Gaming Exchange Portal may be generated, to offer search results in a speedy manner. For example, some of the information that may be indexed may include game attributes such as the game type (e.g. fruit type X, poker type Y, etc . . . ), the game theme (e.g. English, Chinese, Christmas, Easter, Birthday, Marriage, beginner, advanced, etc.), the return to player (RTP) factor (e.g. 92%, 94%, 98%), the denomination (e.g. 1¢, 5¢, 10¢, 50¢, $1, $10, $50) and the volatility (e.g. high, low, medium, that is win small amounts frequently or win larger amounts less often). In addition to usage metrics, the statistics may be kept on the frequency of download for each game and the geographic distribution of such downloads.

Advertising sensing technology may be implemented in the Regulated Gaming Exchange to enable game operators and freelance developers to display relevant ads on their content pages to offer home players an opportunity to follow links to examine casino promotions and freelance full size unregulated version of the games. The history of the queries of each player combined with their usage metrics may be analyzed to derive intelligence therefrom relative to their preferences, to enable the ads and associated links to be tailored to the players.

Accordingly, an embodiment of the present invention is a game for execution on a regulated gaming machine. The game may include a first process and a second process. The first process may execute outcome-free game software that renders graphic animation in a first video plane. The second process may execute outcome-providing game software that renders at least one outcome graphics gadget over the first video plane. The outcome graphics gadget(s) are operative to move in synchronism with at least one selected element of the rendered graphic animation and to indicate at least part of a wagering outcome of the game.

The outcome-free game software may be configured to be independent of the wagering outcome of the game. The outcome-free game software may be configured to execute independently of the outcome-providing game software. The outcome-free game software may be uncertified by a gaming software certification lab. The outcome-providing game software may be certified by a gaming software certification lab. According to one embodiment, the outcome-free game software may be uncertified by a gaming software certification lab and the outcome-providing game software may be certified by the gaming software certification lab.

The first and second processes may execute concurrently. The outcome graphics gadget(s) may be configured to be rendered over the selected element(s) of the graphic animation rendered in the first plane. The outcome graphics gadget(s) may be operative to move in synchronism with the selected element(s) using motion capture software, and the motion capture executing software may be isolated from the first process.

A motion of the outcome graphics gadget(s) may be synchronized with the selected element(s) on a frame-by-frame basis, for example. For example, the motion of the outcome graphics gadget(s) may be synchronized with the at least one selected element using one or more of the following: a 2D trajectory path method, a 3D trajectory path method, a camera angle method, a light source characterization method, and a 3D trajectory path method that includes location, scale, rotation and velocity attribute characterization, for example. The motion of the outcome graphics gadget(s) may be synchronized with the selected element(s) via remote procedure call (RPC), Microsoft .NET Remoting, an IP service and/or a software isolated process (SIP) channel between the first process and second process, to name but a few possibilities. The motion of the outcome graphics gadget(s) may track the motion of selected element(s) via an asynchronous remote procedure call (RPC), asynchronous Microsoft .NET Remoting and/or an asynchronous IP service between the first process and second process, for example.

The first process may be configured to execute in a first process sandbox in which the first process may be given restricted memory access and/or restricted execution permissions. Similarly, the second process may be configured to execute in a second process sandbox in which the second process may be given restricted memory access and/or restricted execution permissions. The first process may be configured to execute in a first process sandbox in which the first process may be given compartmented memory access and/or compartmented execution permissions, for example. The second process may be configured to execute in a second process sandbox in which the second process may be given compartmented memory access and/or compartmented execution permissions. The first process may be configured to execute in a first process sandbox, the first process sandbox including strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and/or a JAVA sandbox, for example. Likewise, the second process may be configured to execute in a second process sandbox, the second process sandbox including strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and/or a JAVA sandbox, for example.

The first process may be configured to render its graphics in a video sandbox in which the graphic animation is prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine, and in which unauthorized processes are prevented from reading the display or the video cache. Similarly, the second process may be configured to render its graphics in a video sandbox in which the graphics gadget(s) is prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine and in which unauthorized processes are prevented from reading the display or the video cache to determine a wagering outcome of the game.

The outcome graphics gadget(s) may include one or more of the following: a scalable static 2D object; a rotatable static 2D object; a scalable static 3D object; a rotatable static 3D object; a real-time animated 2D object, and a real-time animated 3D object, for example. The selected element(s) of the rendered graphic animation may include one or more targets that may be rendered in the graphic animation such that a motion of the outcome graphics gadget(s) may be synchronized to the motion of the target(s). The outcome graphics gadget(s) may be synchronized to the motion of the target(s) using motion capture software that may be isolated from the first process.

The first process may be configured to execute in a first computer and the second process may be configured to execute in a second computer that may be separate and independent of the first computer. The first computer may include means for rendering graphic animation to a first video output interface and the second computer may include means for rendering the outcome graphics gadget(s) over a neutral background to a second video output interface, a first video signal from the first video output interface being combined with a second video signal from second video output interface in a video display of the gaming machine using a blue-screen or equivalent technique. The selected element(s) may be designated by a target that may be recognizable by image analysis software. One of the outcome graphics gadget(s) may be overlaid onto the target(s). The graphic animation rendered by the first process may include video playback.

According to another embodiment, the present invention is a method for operating a regulated gaming machine to enable a player to play a game. Such a method may include providing outcome-free game software, the outcome-free game software being configured to render graphic animation of the game; executing the outcome-free game software in the gaming machine and rendering the graphic animation in a first video plane; providing outcome-providing game software, the outcome-providing game software being configured to render at least one outcome graphics gadget that is operative to indicate at least part of a wagering outcome of the game, and executing the outcome-providing game software in the gaming machine and rendering the outcome graphics gadget(s) over the first video plane such that the outcome graphics gadget(s) is rendered over and moves in synchronism with at least one selected element of the graphic animation.

The outcome-free game software providing step may be carried out with the graphic animation being independent of the wagering outcome of the game. The outcome-free game software providing step may be carried out with the outcome-free game software being configured to execute independently of an execution of the outcome-providing game software. The outcome-free game software providing and executing steps may be carried out with the source code of the outcome-free game software being uncertified by a gaming software certification lab. Conversely, the outcome-providing game software providing and executing steps may be carried out with the source code of the outcome-providing game software being certified by a gaming software certification lab. The outcome-free game software providing and executing steps may be carried out with the source code of the outcome-free game software being uncertified by a gaming software certification lab and the outcome-providing game software providing and executing steps may be carried out with the source code of the outcome-providing game software being certified by the gaming software certification lab. The outcome-free game software executing step and the outcome-providing game software executing step may be carried out concurrently. The outcome graphics gadget(s) may be configured to be rendered over the selected element(s) of the graphic animation rendered in the first plane. The outcome graphics gadget rendering step may be carried out with the outcome graphics gadget(s) being operative to move in synchronism with the selected element(s) using (e.g.) motion capture software, the motion capture software being isolated from the outcome-free game software. The outcome-providing game software executing step may be carried out with the outcome graphics gadget being synchronized with the selected element(s) on a frame-by-frame basis, for example. The outcome-providing game software executing step may be carried out with the motion of the outcome graphics gadget(s) being synchronized with the selected element(s) using one or more of the following: a 2D trajectory path method, a 3D trajectory path method, a camera angle method, light source characterization method, and a 3D trajectory path method that may include location, scale, rotation and velocity attribute characterization, to identify but a few of the possible technologies for synchronizing the outcome graphics gadget(s) with the selected element(s). The outcome-providing game software executing step may be carried out with the motion of the outcome graphics gadget(s) being synchronized with the selected element(s) via, for example, a remote procedure call (RPC), Microsoft .NET Remoting, an IP service and/or a software isolated process (SIP) channel between outcome-free game software and the outcome-providing game software. The outcome-providing game software executing step may be carried out with the motion of the outcome graphics gadget(s) being synchronized with the element(s) via an asynchronous remote procedure call (RPC), asynchronous Microsoft .NET Remoting and/or an asynchronous IP service between outcome-free game software and the outcome-providing game software, for example.

The outcome-free game software executing step may be carried out in a process sandbox in which the outcome-free game software may be given restricted memory access and/or restricted execution permissions. Similarly, the outcome-providing game software executing step may be carried out in a process sandbox in which the outcome-providing game software may be given restricted memory access and/or restricted execution permissions. The outcome-free game software may be configured to execute in a first process sandbox in which the first process may be given compartmented memory access and/or compartmented execution permissions. The outcome-providing game software may be configured to execute in a second process sandbox in which the second process may be given compartmented memory access and/or compartmented execution permissions. The outcome-free game software may be configured to execute in a first process sandbox, the process sandbox including strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and/or a JAVA sandbox, for example. The outcome-providing game software may also be configured to execute in a second process sandbox, the process sandbox including strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and/or a JAVA sandbox. The outcome-free game software executing step may be carried out to render its graphics in a video sandbox in which the graphic animation may be prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine, and in which unauthorized processes may be prevented from reading the display or the video cache. Similarly, the outcome-providing game software executing step may be carried out to render its graphics in a video sandbox in which the outcome graphics gadget(s) may be prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine and in which unauthorized processes may be prevented from reading the display or the video cache such as to determine the outcome of the game.

The outcome-providing game software executing step may be carried out with the outcome graphics gadget(s) including one or more of the following: a scalable static 2D object; a rotatable static 2D object; a scalable static 3D object; a rotatable static 3D object; a real-time animated 2D object, and a real-time animated 3D object, for example. The outcome-providing game software executing step may be carried out with the selected element(s) of the graphic animation including one or more targets, the motion of the outcome graphics gadget(s) being synchronized to the motion of the target(s). The outcome-free game software executing step may be carried out in a first computer and the outcome-providing game software executing step may be carried out in a second computer that may be separate and independent of the first computer. The outcome-free game software executing step may be carried out with the first computer including means for rendering graphic animation to a first video output interface and the outcome-providing game software executing step may be carried out with the second computer including means for rendering the at least one outcome graphics gadget over a neutral background to a second video output interface. The method may further include a step of combining a first video signal from the first video output interface with a second video signal from the second video output interface in a video display of the gaming machine using a blue-screen or functionally similar technique. The method may also include steps of designating at least one selected element of the graphic animation by a target that may be recognizable by image analysis software, and overlaying one of the outcome graphics gadget(s) onto the target. The graphic animation rendered by the outcome-free game software may include a video playback.

Another embodiment of the present invention is a method of developing a game for a regulated gaming machine, comprising the steps of adapting a game to render graphic animation in a first video plane and to include a plurality of targets on the graphic animation, the game being of a non-wagering type which does not require certification by a gaming software certification lab; developing outcome-providing game software that renders a plurality of outcome graphics gadgets, each of the plurality of outcome graphics gadget being operative to overlay the first video plane and move in synchronism with a respective one of the plurality of targets and to indicate at least part of a wagering outcome of the game, and obtaining certification from a gaming software certification lab only for the outcome-providing game software.

The adapting step may be carried out with the graphic animation being independent of the wagering outcome of the game. The adapting step may be carried out with the graphic animation being configured to execute independently of the execution of the outcome-providing game software. The adapting step may be carried out with the source code of the outcome-free game software being uncertified by a gaming software certification lab. The developing step may be carried out with the source code of the outcome-providing game software being certified by a gaming software certification lab. The adapting step may be carried out with the source code of the game being uncertified by the gaming software certification lab and the developing step may be carried out with the outcome-providing game software being certified by the gaming software certification lab. The adapting step may be carried out with executable code of the game being certified by the gaming software certification lab and the developing step may be carried out with the outcome-providing game software being certified by the gaming software certification lab. The developing step may be carried out such that each of the plurality of outcome graphics gadgets may be operative to move in synchronism with a respective one of the plurality of targets using motion capture software, the motion capture executing software being isolated from the adapted game. The developing step may be carried out with each of the plurality of outcome graphics gadgets being synchronized with a selected one of the plurality of targets on a frame-by-frame basis (for example). The developing step may be carried out with each of the plurality of outcome graphics gadgets being synchronized with a selected one of the plurality of targets using at least one of a 2D trajectory path method, a 3D trajectory path method, a camera angle method, a light source characterization method, and a 3D trajectory path method that may include location, scale, rotation and velocity attribute characterization, for example. The developing step may be carried out with each of the plurality of outcome graphics gadgets being synchronized with a selected one of the plurality of targets via one or more of a remote procedure call (RPC), Microsoft .NET Remoting, an IP service and/or a software isolated process (SIP) channel between the game and the outcome-providing game software, for example. The developing step may be carried out with each of the plurality of outcome graphics gadgets being synchronized with a selected one of the plurality of targets via one or more of an asynchronous remote procedure call (RPC), asynchronous Microsoft .NET Remoting and/or an asynchronous IP service between the first process and second process, for example.

The adapting step may be carried out with the game executing in a process sandbox in which the software of the game software may be given restricted memory access and/or restricted execution permissions. The developing step may be carried out such that the outcome-providing game software executes in a process sandbox in which the outcome-providing game software may be given restricted memory access and/or restricted execution permissions. The adapting step may be carried out with the game executing in a process sandbox that may be given compartmented memory access and/or compartmented execution permission. The developing step may be carried out such that the outcome-providing game software executes in a process sandbox that may be given compartmented memory access and/or compartmented execution permissions. The adapting step may be carried out with the game executing in a process sandbox, the process sandbox including one or more of strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and/or a JAVA sandbox, for example. The developing step may be carried out such that the outcome-providing game software executes in a process sandbox, the process sandbox including strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and/or a JAVA sandbox, for example. The developing step may be carried out such that the outcome-free game software is may be configured to render its graphics in a video sandbox in which the graphic animation may be prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine, and in which unauthorized processes may be prevented from reading the display or the video cache. The developing step may be carried out with the outcome-providing game software may be configured to render its graphics in a video sandbox in which the plurality of outcome graphics gadgets may be prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine and in which unauthorized processes may be prevented from reading the display or the video cache such as to determine the outcome of the game. The developing step may be carried out with the plurality of outcome graphics gadgets including one or more of a scalable static 2D object; a rotatable static 2D object; a scalable static 3D object; a rotatable static 3D object; a real-time animated 2D object, and a real-time animated 3D object, for example.

The adapting and developing steps may be carried out such that each of the plurality of outcome graphic targets may be synchronized using motion capture software to the motion of one or more of the plurality of targets, the motion capture software being isolated from the adapted game. The adapting and developing steps may be carried out such that the game may be executed in a first computer and the outcome-providing gaming software may be executed in a second computer that may be separate and independent of the first computer. The adapting and developing steps may be carried out such that first computer in which the game executes may include means for rendering graphic animation to a first video output interface and the second computer in which the outcome-providing game software executes may include means for rendering the plurality of outcome graphics gadgets over a neutral background to a second video output interface. The method may further include a step of combining a first video signal from the first video output interface with a second video signal from the second video output interface in a video display of the regulated gaming machine using a blue-screen or equivalent technique. The graphic animation rendered by the game may include a video playback.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates the rendering of the entertainment graphics developed by a freelance game software developer and the process of producing outcome graphic assets developed by the casino supplier, according to an embodiment of the present invention.

FIG. 2 illustrates the overlay of the entertainment graphics and of the rendered outcome graphic assets, according to an embodiment of the present invention.

FIG. 3 illustrates the synchronization of the rendered outcome graphic gadgets using the motion capture from the entertainment rendering graphics, according to an embodiment of the present invention.

FIG. 4 illustrates the synchronization of the rendered outcome gadgets using a programming interface from the entertainment rendering process, according to an embodiment of the present invention.

FIG. 5 illustrates an overall game architecture, according to an embodiment of the invention.

FIG. 6 illustrates the merging of 3D surface targets and 3D outcome skins, according to an embodiment of the invention.

FIG. 7 illustrates 2D outcome objects being replaced with 3D animated outcome graphic gadgets, according to an embodiment of the invention.

FIG. 8 illustrates conventional gaming machine meters

FIG. 9 illustrates the concept of meters being grouped in a docking windows, according to an embodiment of the invention.

FIG. 10 illustrates meters docking on a game display and partitioning of controlling software, according to an embodiment of the invention.

FIG. 11 illustrates the possible docking arrangements that player may choose, according to an embodiment of the invention.

FIG. 12 illustrates meters rendered with controlled transparency, according to an embodiment of the invention.

FIG. 13 illustrates gaming area and meters docked on different windows panels, according to an embodiment of the invention.

FIG. 14 illustrates individual docking of meters, according to an embodiment of the invention.

FIG. 15 illustrates the architecture of a game exchange portal, according to an embodiment of the invention.

FIG. 16 illustrates the architecture of a search portal, according to an embodiment of the invention.

DETAILED DESCRIPTION

Reference will now be made in detail to the construction and operation of preferred implementations of the present invention illustrated in the accompanying drawings. The following description of the preferred implementations of the present invention is only exemplary of the invention. The present invention is not limited to these implementations, but may be realized by other implementations.

FIG. 1 illustrates the rendering of the entertainment “outcome free” graphics developed by a freelance game software developer and the process of producing outcome graphic assets developed by the casino supplier, according to an embodiment of the present invention. Embodiments of the present invention are presented herein using a horse racing game as an exemplary embodiment. However, it is to be understood that the present inventions are not to be so limited, as most any type of game may be used to great advantage.

Keeping the foregoing in mind, according to an embodiment of the invention, a horse racing graphic animation (which may be and/or include, for example, a video playback) controlled by a process 104 may be rendered in a video plane 102. The animation scene in FIG. 1 includes four horses 106, 108, 110 and 1 12. The horse racing animation may be rendered in a video plane by the freelance code executing in a process sandbox using pre-recorded video or realistic real-time 3D animation, the rendering being such that each horse number indicia usually printed on a blanket 114, 116, 118 and 120 attached to the saddle is totally obfuscated. Consequently it is impossible, from viewing the animation of the freelance code, to know or otherwise determine which horse is leading and will eventually win the race, as well as the order of the other horses across the finish line. In addition, other identifying features that may help in identifying horses (such as the jockey's jacket color and the horse's color or other identifying markings, for example) may also be obfuscated. Moreover, the voice-over or sound should not give any indication of the leading horses. Thus, the background plane may constitute a dazzling entertaining scene that is free from any markings (i.e. numbers, colors, shapes) that would reveal the outcome of the game, together with realistic sound.

A process sandbox is a term commonly employed in computer technology to denote that the running process is given restricted memory access and restricted execution permissions such as not to interfere with other resources (e.g. processes, memory, disk storage, video, etc . . . ) outside defined boundaries. (The process sandbox technique is also commonly known in the US army software requirement as secure compartmenting for a multilevel secure operating system as defined in the DoD 5200.28-STD standard and the associated Orange book and the rainbow series. The process sandbox technique is being further researched at Microsoft Research under the “Singularities” and “Virtualization” initiatives wherein Software Isolated Processes (SIPs) communicate and interact via “channels” and “contracts” which provide a fully defined and protected security partitioning for inter-process communication and wherein virtualization of the Windows operating system will be controlled by the “HyperVisor” virtualization engine; these technologies are likely to be released after Windows Vista. The process sandbox technique is also commonly referred as strong process isolation). This may be achieved using advanced and secure resource management such as, but not limited to, hardware enforced memory management, ACL (Access Control List), trusted computing base (i.e. implementing security initiatives of the TCG Trusted Computing Group: TPM, TNC, secure BIOS, secure storage, etc . . . or equivalent technologies), software restriction policy, anti-virus, kernel virtualization, I/O virtualization, and other security mechanisms embedded in advanced 64-bit CPU. In addition, forthcoming graphics controllers comprising embedded hardware security module may ensure that no process may access unauthorized video resources. Consequently, the executing freelance software cannot interfere with the regulated software installed or executing on the gaming controller, including unauthorized writing and reading of information to/from the video display and hidden video display cache.

Accordingly and according to an embodiment of the present invention, the outcome-free game software or processes may be configured to execute in a first process sandbox in which it is given compartmented memory access and/or compartmented execution permissions. The outcome-free game software or processes may be configured to execute in a first process sandbox that may include, for example, strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and/or JAVA sandbox. Likewise, the outcome-providing game software or processes may be configured to execute in a second process sandbox in which it is given compartmented memory access and/or compartmented execution permissions. For example, the outcome-providing game software may be configured to execute in a second process sandbox that may include, for example, process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and/or JAVA sandbox.

As shown in FIG. 1, the horse number indicia 126, 128, 130 and 132 may be generated by an outcome engine process 122 seeded by a random number generator (RNG) 124 subsequent to the BET button 125 being pressed. The code for the outcome engine process 122 is under the control of the slot supplier and is certified—in contradistinction from the executing freelance code, which need not be certified or under the control of the slot supplier. Note that the freelance code may, in fact, originate from the slot supplier. This would, in effect, streamline the slot supplier's software certification process, as only the relatively lean code for the outcome engine process 122 need be submitted to the certification lab for certification -as this is the only code that is in any way involved in the outcome of the game.

FIG. 2 illustrates the overlay of the entertainment graphics and of the rendered outcome graphics, according to an embodiment of the present invention. In the illustrated horse racing scene controlled by process 1 at reference numeral 202 and rendered in a video plane 200, a single video frame comprising two horses 204 and 206 are displayed with their associated numbers obfuscated, as shown at 208 and 210. The horse numbers 224 and 226 (which may constitute at least part of the outcome of the game), according to an embodiment of the present invention, may be generated by the outcome process 122 (shown in FIG. 1) and rendered in a single corresponding video frame in the video plane 220 by process 2, shown at reference numeral 222. The two video planes 200 and 220 may then be combined as indicated by reference numerals 230, 232, 234 and 236 into a merged video plane 240. The single merged video frame shows the two horses 242 and 244 with the corresponding horse numbers 246 and 248 visible on the saddle blanket.

The horse number indicia 126, 128 may be rendered in a video plane 220 as graphic gadgets (in the exemplary embodiment shown in FIGS. 1 and 2, horse numbers) 224, 226 controlled by the certified slot supplier code 222 executing in a process sandbox isolated from the uncertified freelance process 202 running in another sandbox. Graphic gadgets, according to embodiments of the present invention, are small graphic objects behaving much like small windows that may be rendered and moved individually over a background scene. However, graphics gadgets are not necessary limited to a rectangular shape. Graphic gadgets may be circular for rendering a clock for example and of arbitrary outline. Other shapes for such graphic gadgets are possible. Graphic gadgets may also be semi transparent using alpha-blending technology and may have a controllable transparency. Furthermore, graphic gadgets may be 3D animated graphic objects and thus the outline of the 3D object over the background scene may be cut in real-time accordingly. The term “graphics gadget” is used herein to emphasize the fact that the controlling process behind the graphics gadget is structured to be isolated by a process sandbox and a corresponding video sandbox, the video sandbox ensuring that (a) the gadget cannot be hidden or overlapped by an unauthorized process trying to write to the display or the video cache, and that (b) an unauthorized process cannot read the display or the video cache of the graphics gadget such as to determine the outcome that is rendered.

FIG. 2 shows the merging of a single frame of entertainment graphics and of a corresponding single frame containing rendered outcome gadgets. FIG. 3 illustrates the synchronization of the rendered outcome gadgets using the motion capture from the entertainment graphics such as to obtain a continuous merged video sequence, according to embodiments of the present invention. For motion capture, targets may be inserted in the video sequence, such that they may be recognized by image analysis software. An example of target is shown at numeral 306. According to an embodiment of the present invention, targets may, therefore, be inserted in the freelance entertainment horse race graphics animation at the location(s) where the outcome assets are to be overlaid. In the exemplary scene 300 in FIG. 3, the target 308 is inserted on the saddle blanket of horse 302, and the target 310 is inserted on the saddle blanket of horse 304. Each of the video frames composing the animated outcome-free horse race may be analyzed as suggested by 312 by a motion capture process 314 that identifies the targets 308 and 310 and then derives their exact location on each frame. The target locations may then be forwarded as shown at 322 and 326 to the gadget processes 316 and 318 that will render 323, 327 the horse numbers 324 and 328 at the corresponding target locations, frame-by-frame, such that a seamless merged horse race animation is displayed to the player. Indeed, the motion capture software may derive other scene attributes such as without limitation, location, path, velocity, scale, orientation, rotation, lighting parameters, camera angle, such that the rendered outcome gadget may render the outcome assets more realistically. Moreover, the target may comprise a plurality of video attributes that may be more easily decoded by the motion capture software for deriving scene attributes such as without limitation, location, path, velocity, scale, orientation, rotation, lighting parameters, camera angle, such that the rendered outcome gadget may render the outcome assets more realistically. Hidden video attributes may advantageously be used.

FIG. 4 illustrates the synchronization of the rendered outcome graphic gadgets using a programming interface from the entertainment graphics such as to obtain a continuous merged video sequence, according to an embodiment of the present invention. In the exemplary scene 400, the location of target 404 on the saddle blanket of horse 402, and the location of target 408 on the saddle blanket of horse 406 are forwarded directly, as indicated at 412 and 414 by freelance process 410 to the gadget processes 416 and 418 that will render, at 422 and 426, the horse numbers 424 and 428 at the corresponding respective target locations frame-by-frame such that a seamless merged horse race animation is displayed to the player. Indeed, the freelance process 410 may provide other scene attributes such as, without limitation, location, path, velocity, scale, orientation, rotation, lighting parameters, camera angle, such that the rendered outcome gadget may render the outcome assets more realistically.

As may be apparent to those of skill in the art of video graphics animation and synchronization, other synchronization schemes may be employed that rely on a direct programming interface, either frame-by-frame, by sequence of frames or for the entire animation sequence. For example, if the animation is a replay of a pre-recorded animation, the overall path for each target may be provided via the programming interface.

FIG. 5 illustrates a game architecture according to an embodiment of the invention in which a space controller coordinates the various animations and interactions. The gaming machine video display 500 (which may include one, two or more video display panels) may display essentially four categories of graphic objects: (a) outcome-free entertainment graphic objects 502, (b) outcome graphic object 504, (c) meters objects 506 and (d) interaction objects 508. There may be more categories of graphic objects depending on the type and complexity of the game (multiplayer, multi-screen, for example). These graphic objects may be each controlled by an individual process and the combination graphic object and controlling process is named “gadget” hereafter. Graphic gadgets 504, 506 and 508 may be resizable and located anywhere on any of the display panels. The entertainment graphic object 502 may be or include a background scene taking the entirety of one or several video display panels or alternatively taking a portion of a single display only. The entertainment graphic object 502 may include one or a plurality of resizable gadgets that may be located anywhere on any of the display panels. The entertainment graphic objects do not display any outcome-bearing information, identification, shapes or colors (which is why it need not be submitted to or certified by a software certification lab). The process controlling the entertainment graphics may be, according to an embodiment of the present invention, be totally isolated in a sandbox process or may execute on a separate computing controller.

The outcome gadgets may display outcome-bearing information such as, but not limited to, identification marks, numerals, shapes and colors. The meters gadgets may display the meters of the games such as but not limited to credit, last win and denomination. The interaction gadgets may be the visible or invisible graphic objects with which the player may interact such as, but not limited to, a bet button, wager selection, denomination selection, lines selection, chips, help button and cash-out button. Help and prize matrix may be interaction gadgets.

The graphics objects and gadgets may be displayed anywhere on the video display(s) of the gaming machine with any viewing attributes such as location, scale, orientation, illumination (one or several light sources), opacity and plane position (on top, in back, in between, etc.). Gadgets may be rendered in rectangular or non-rectangular windows, or in sprites. Gadgets may be rendered as full 3D animated objects.

The display rendering of all the gadgets on the video display is controlled by a space controller 510 that is configured to coordinate all the 2D/3D viewing attributes of each of the graphic objects and gadgets such as to enable the player to experience a seamless game session. Hereafter, the 2D/3D viewing attribute of each gadget or graphic object is referenced as “path” 530, 534, 540 and 542 in FIG. 5. The path of each gadget may be controlled frame-by-frame, by aggregate of frames, or for the entire viewing sequence, whichever is more appropriate for each gadget. The space controller 510 may receive the outcome data 548 from the outcome engine 516 and forward 534 the outcome information together with the path to each of the associated outcome gadgets 504 that will in turn render the graphic animation of the outcome in synchronization with the game entertainment scene. The outcome engine 516 may receive the wager size, bet selections and bet activation as a “command” message 544 from the interaction gadgets.

The presentation style or “skin” of the entertainment gadgets, meter gadgets and the interaction gadgets may be customized by the player and/or by the game operator without requiring any regulatory software re-testing. The customization available to the players and/or to the game operator is limited, to remain in regulatory compliance. Young computer users and gamers who are used to be provided with “skin-able” programs and games such as music players and even the entire Microsoft Windows visual appearance (i.e. Aero in Windows Vista) may, therefore, customize the skin of all the display windows and gadgets (entertainment, meters, interactive) and choose their size, location, opacity and dynamic zoom-in/zoom-out (the meters may be visible in small size or with high transparency during game action and may appear in large size and high opacity when the outcome is given). The gadgets may be dock-able via a push-pin icon, and/or de-docked and removed when the pin is removed. In a multi-display gaming machine, the player or the operator may freely choose on which panel to display the various graphics objects or alternatively may choose to combine the panels to make a larger virtual display. Interactive controls (suggested at 1312 in FIG. 13) may be offered to the player to change the skin and/or location, size and any other attribute of the gadgets, and the new skin parameters 532, 538, 544 may be provided to the space controller 5 10. Such interactive controls may take the form of buttons, joysticks, trackball, touch-sensitive display, for example, as those of skill in this art may appreciate. Accordingly, the space controller 510 may coordinate the path of each of all the gadgets in order to generate a seamless game session.

The space controller 510 may receive the outcome targets path and viewing parameters 532 directly from the entertainment graphics objects 502 or alternatively may derive them via a motion capture process 512. The entertainment graphics objects 502 may receive a start command 530 from the space controller 510 to start viewing the entertainment animation, when the bet button is pressed, for example.

The outcome engine 516 may receive a bet command 550 from the space controller and obtain the raw random numbers 560 from the random number generator 518. The outcome engine may receive player credits via Ticket-In 522 or any other common payment instrument and cash-out via Ticket-Out 524 or other payment instrument. An audit engine 520 may securely store a trace of all regulatory data 558, in NVRAM for example. A history process 526 may record all graphic activity 552 and associated outcome data 554 during a game session, and forward them at 556 to a history playback process 514 such that the space controller may playback a complete game session when required in order to resolve player disputes.

For illustration, FIG. 6 shows the concept of projecting a 3D outcome skin 602 onto a simple neutral spherical 3D outcome target 600, according to further aspects of embodiments of the present invention. In a video pool game example, balls bearing numbers may be rendered as blind 3D spheres 604 by the freelance entertainment graphics objects 502. The 3D spheres 604 are 3D outcome targets that are each being passed (as shown at 532 in FIG. 5) as a 3D model to the space controller 510 together with their associated viewing attributes. In the example of FIG. 6 wherein only one pool ball is illustrated, the number 12 is being drawn by the outcome engine 516 and is forwarded 548 to the space controller. The outcome gadget 504 having the capability to generate and control animated 3D spheres renders a sphere 604 on which a texture or a skin representing the number 12 drawn by the RNG 605 is dynamically projected, as shown at 606. The player will see a seamless rolling ball 608 bearing number 12.

Similarly, in a cosmic voyager game wherein a spacecraft exits light speed travel as it approaches its destination, the planet where it would land is revealed. The planets may be rendered as neutral/blind 3D spheres 610 by the freelance entertainment graphics objects 502. The 3D spheres 610 are 3D outcome targets that are each being passed 532 as a 3D model to the space controller 510 together with their associated viewing attributes. In the example of FIG. 6 wherein only one planet is illustrated, planet earth is being drawn by the outcome engine 516 and is forwarded 548 to the space controller. The outcome gadget 504 having the capability to generate and control animated 3D spheres renders a sphere 610 on which a texture or a skin representing planet earth drawn by the RNG 611 is dynamically projected 612. The player will see a seamless spinning earth planet. Projected outcome skin or textures may be a single fixed image (a number for example) or a video image (a running horse for example) that is warped such as to seamlessly cover the 3D outcome target. Other effects may be applied to the projected outcome skin, such as different textures, shimmering, rippling, bump mapping and all manner of modern graphic manipulations, as those of skill in this art may appreciate.

FIG. 7 illustrates 2D outcome objects of legacy fruit games being replaced with 3D animated outcome gadgets, according to further aspects of embodiments of the present invention. Legacy fruit games traditionally display 2D fixed or animated 2D outcome objects 706, 712 and 718. It is anticipated that freelance creative minds would rather directly create 3D fruit games in which each individual fruit would appear as animated 3D characters lodged in a virtual cavity located near the surface of a reel that revolves when the player spins the reel. In this instance, the center of a cavity within the reel may be passed by the freelance entertainment graphics objects 502 as an outcome target to the space controller 510. The relevant outcome gadget may render the fruit corresponding to the draw generated by the outcome engine 516. The player will see a dazzling seamless spinning reel, which will then stop to reveal animated 3D fruit.

FIG. 8 illustrates a conventional fruit game in which regulatory meters are displayed at a fixed location. Traditionally, the entire layout 800 is designed such that the reels 802 and the regulatory meters 804 are placed at fixed location. The meters are hand customized by a graphic artist to blend with the game and the overall composition never changes. Some later games use window effects to bring some portion of the screen and meters into focus by enlargement during particular moments of the game session but these effects are limited by what the graphic artist decided at design time and they may not be changed at later time when the game is deployed in a casino.

Accordingly, it is believed desirable to allow casino players to change various aspects of the displayed games to suit their mood, preferences and the available video display real-estate (i.e. single display, multi-display, ultra-high resolution display, plasma display, etc . . . ). Players, according to further aspects of embodiments of the present invention, may change the style or skin interactively of various game elements and operators may control the parameters centrally or locally via configuration files or centrally federated policies. Player's individually chosen styles may be saved and later recovered and retrieved using, without limitation, a player card or from a central player account. As discussed below and according to further embodiments of the present invention, players may configure their favorite styles and skins on their computers at home and may thereafter retrieve such parameters on the casino floor.

According to an embodiment of the present invention illustrated in FIG. 9, the meters 900 may be grouped in a window 902. The window may be of the pop-up or roll-out type that is brought into focus at a particular moment during the game action. Traditionally the meters are placed at a fixed location and are always visible. According to an embodiment of the present invention, however, the player may close the meters window or reduce it to a minimum or smaller size required by regulation by pressing the “close” (or “minimize”) button 904. The meters window may return to its initial or previous size upon the occurrence of a particular event during the game session, such as when a win occurs. The player may move the meters window to another location on the current display panel or to another display panel fitted to the gaming machine by pressing and dragging the “move” button 912. The player may resize the meters window by pressing the “Size” button 908, whereupon a menu may pop-up offering various menu sizes. Alternatively, each time the button 908 is pressed, the meters window may assume a different size. Alternatively again, the player may drag one corner of the window for resizing it. The player may change the transparency of the meters window by pressing the “Opacity” button 910, whereupon a menu may pop-up offering various opacity values. Alternatively, the meters window may assume a different opacity each time the button 910 is pressed. Similarly, other buttons or interaction means may be offered for changing the presentation style or skin of the meters window. The meters windows may be docked (i.e. locked anchored or pinned) at a particular location and be prevented from being closed or minimized by pressing the “pin” button 906. Other interaction means may be provided, to afford both players and operators great latitude in customizing the appearance of the game. For example it may be desirable to apply the same window control concepts to other types of windows and gadgets available to the player during a game session; consequently all graphics objects may be given the same capabilities, without limitation, of moving, docking, resizing, opacity, minimizing and skin/style change.

It is to be noted that one or more of the interaction means and elements of FIG. 9 may form part of a management console of a central computer system (1556 in FIG. 15). Such a management console may be configured to enable policies to be interactively set (by a game operator, regulatory official, an employee of a gaming facility in which the gaming machine is located, by another person or programmatically) for controlling the layout of one or more of the plurality of graphic objects on the display(s) of the gaming machine. Such interactively set policies may be enforced by the central system 1556 to one or more gaming machines coupled thereto. Such a management console may be operative to control the layout, appearance (and optionally other attributes) of one or more of the graphic objects displayed on the display(s) of selected ones or all of the gaming machines that are connected to the remote central computer system 1556.

FIG. 10 shows two groups of graphic objects on a single video panel 1000 that may be controlled interactively by the player or centrally by the game operator, according to further embodiments of the present invention. The appearance of spinning wheels 1002 may be controlled by the buttons 1008. The appearance for the meters window 1004 may be controlled by the buttons 1006.

Each group of graphic objects may be controlled by a separate controlling process executing in a process sandbox. As an immediate benefit, the software controlling each group of graphic objects may be controlled by a partitioned software having a well defined application programming interface (API) developed by an independent software group or software vendor. The end-to-end security principles described in the commonly assigned and co-pending patent application Ser. No. 10/520,831, filed Jan. 5, 2005, entitled “Secure Game Download,” and commonly assigned and co-pending patent application Ser. No. 10/789,975, filed Feb. 27, 2004, entitled “Dynamic Configuration of a Gaming System” may be fully applied. Both of the aforementioned patent applications are hereby incorporated herein by reference in their entirety. In addition, the modular principles described in commonly assigned U.S. Pat. No. 6,916,247, entitled “Modular Entertainment And Gaming Systems”, commonly assigned U.S. Pat. No. 6,908,391, entitled “Modular Entertainment And Gaming System Configured To Boot Its Operating System And/Or Application Software From A Remote Device,” commonly assigned and co-pending application Ser. No. 10/120,635, filed Apr. 10, 2002, entitled “Modular Entertainment And Gaming Systems Configured To Consume And Provide Network Services,” and U.S. Pat. No. 6,945,870, entitled “Modular Entertainment And Gaming System Configured To Capture Raw Biometric Data And Responsive To Directives From A Remote Server,” may be applied to great advantage and the controlling process for a particular group of graphic objects may be controlled by a process located in a central computer (such as shown at reference numeral 1556 in FIG. 15) or another peer computer (such as shown at 1558 in FIG. 15) that is coupled to the gaming machine. Peer-to-peer principles as such detailed in commonly assigned and co-pending patent application Ser. No. 11/172,518, filed Jun. 29, 2005, entitled “Universal Peer-To-Peer Game Download,” application Ser. No. 11/456,528, filed Jul. 10, 2006, entitled “Multi-Player Regulated Gaming With Consolidated Accounting,” application Ser. No. 11/354,568, filed Feb. 14, 2006, entitled “Methods And Systems For Implementing A Secondary Game Across A Plurality Of Gaming Machines,” application Ser. No. 10/520,831, filed Apr. 10, 2002, entitled “Secure Game Download,” and in commonly assigned U.S. Pat. No. 6,645,075, entitled “Cashless Time Gaming,” and U.S. Pat. No. 6,916,244, entitled “Server-Less Cashless Gaming Systems And Methods,” all applications and patents of which are hereby incorporated by reference herein in their entireties, may also be applied to great advantage. This modular approach may encourage freelance software developers to specialize in some sophisticated and engaging game add-ons or plug-ins and offer them to gaming machine vendors to add to their game software. For example, a player tracking module developed by company X may comprise a central control module located in a central server (such as shown at 1556 in FIG. 15) on the gaming network that directly and securely controls a graphics gadget on each gaming machine via .NET Remoting, RPC or other IP service. Likewise, company Y may specialize in offering “skin-able meters” plug-ins that provides a wide range of presentation themes and dazzling 3D animations and sounds. The game designer may decide at game design time on a suitable meters presentation, or alternatively, the player and the game operator may be given the option to select a presentation or skin, without requiring the game software to undergo a lab test and recertification.

FIG. 11 illustrates exemplary arrangements of the graphic objects that a player or an operator may choose, according to further aspects of embodiments of the present invention. On display 1102, the group of spinning wheels 1104 is on the top and the meters 1106 are on the bottom. On display 1108, the group of spinning wheels 1110 is on the right and the meters 1112 are on the left. On display 1114, the group of spinning wheels 1116 is on the top and the meters 1118 are on the bottom left in reduced size. On display 1120, the group of spinning wheels 1122 is on the bottom and the meters 1124 are on the top.

Alternatively and as shown in FIG. 12, the group of spinning wheels 1202 may occupy the overall space across the video display 1200 and the meters 1204 are rendered with a predetermined transparency over the wheels. Indeed, the transparency may vary from full transparency to fully opaque. Moreover, the size thereof may vary from large to small, under software control at different moments within the gaming session.

FIG. 13 shows an exemplary player-selectable arrangement of the graphic objects on a dual display gaming machine 1300. As shown, the group of spinning wheels 1306 takes the overall space across the lower video display 1302 and the meters 1308 may be combined with a player tracking interface 1310 across the upper video display 1304. The player or the game operator may choose other arrangements depending on the number of configurable or skin-able graphics objects and the number and sizes of the video displays available on the gaming machine.

FIG. 14 illustrates a further partitioning of the graphic objects of video display 1400 according to further aspects of embodiments of the present invention. As shown, the group of meters may be divided in individual meters 1402, 1404 and 1406, each having the capability to have its appearance controlled by the player via interactive controls means 1408, 1410 and 1412 or via recalling previously stored player profile settings or alternatively by the game operator via central configuration via a suitable management console on a central system 1556.

Later generation graphic platform such as Microsoft Windows Platform Foundation (WPF), WinFX, .NET Framework 3.0 and XNA Game Studio Express for Windows Vista and Windows XP, together with associated new generation of graphic design tools such as Microsoft Expression suite (in which graphics are no longer bound by raster technology but are fully scalable using vector graphics), may allow creative minds to develop dazzling graphics. Microsoft's Visual Studio Express is aiming to democratize application development by putting development tools into the hands of novice and hobbyist programmers. Microsoft officials hope XNA Game Studio Express will democratize game development by delivering the necessary tools to hobbyists, students, independent developers and studios to help them more readily create games for the Xbox 360. This democratization will enable game players to more easily become game developers, company officials said. And by joining a “creators club” for an annual subscription fee of $99, developers will be able to build, test and share their games on Xbox 360 and access other materials to help them develop games for the Microsoft platform, Microsoft said. Code signing each module with an individual certificate would enable end-to-end security throughout the life cycle of the game and ensure that freelance developers are rewarded in accordance with the success of their games or plug-ins. This may be accomplished by examining the audit logs containing a trace of the certificate ID for each module executed. Individual modules of the games (and not the entire game) may be replaced via central download to speed up and reduce cost of ownership.

The virtual display architecture detailed herein accommodates any number and size of display panels that may be fitted or connected to a gaming machine including, but not limited to, large format plasma displays, 3D displays, projection displays and interactive 3D projection displays such as Microsoft “Touchlight” technology that lets users move and manipulate three-dimensional images with their hands. The virtual display architecture detailed herein may also accommodate technologies such as Microsoft's “PhotoSynth”, which constructs a user navigable 3-D environment from a plurality of 2-D pictures or technologies such as Total Immersion's D'Fusion technology, which seamlessly blends video and 3-D computer generated constructs and animation together. One or a plurality of displays may be remote from the gaming machine, the remote display being controlled by a network connected controller. Such a display may advantageously be a large size plasma display controlled by a PC or an XBOX 360 game console, for example. The network inter-process communication between the gaming machine and the remote display controlled by a XBOX 360 may use the Microsoft MCML language (Media Center Markup Language) or the Microsoft XNA (http://msdn.microsoft.com/directx/xna/). The network connected remote display may be shared between a plurality of gaming machines, each gaming machine controlling at least one graphic objects via network inter-process connection. The end-to-end secure code download principles using code signing and software restriction policy may be advantageously applied to download the necessary network inter-process code. The virtualization of remote large size advanced technology displays shared between a plurality of gaming machines may allow freelance developers to offer dazzling interactive video billboards driven directly by the games played on the gaming machines. One or a plurality of displays may be remote from the gaming machine, the remote display being controlled by a network connected controller. Such a display may advantageously be a large size plasma display controlled by a PC or, an XBOX 360 game console, a Microsoft media extender or equivalent, for example. The network inter-process communication between the gaming machine and the remote display controlled by a XBOX 360 or media extender may use the Microsoft MCML language (Media Center Markup Language), the Microsoft XNA (http://msdn.microsoft.com/directx/xna/) or the Microsoft “Media Extender” framework, for example. The network connected Media Extender device may an XBOX, a PC, a tablet device, a mobile PC, a palmtop PC, a Windows Smartphone or a wired/wireless media player such the Microsoft “Zune” media player. The network connected remote display may be shared between a plurality of gaming machines, each gaming machine controlling at least one graphic objects via network inter-process connection. The end-to-end secure code download principles using code signing and software restriction policy may be advantageously applied to download the necessary network inter-process code. The virtualization of remote large size advanced technology displays shared between a plurality of gaming machines may allow freelance developers to offer dazzling interactive video billboards driven directly by the games played on the gaming machines. The display virtualization to remote hand-held personal computer devices (e.g. SmartPhone, Zune, etc.) connected to a single gaming machine or shared between a plurality of gaming machines may allow freelance developers to offer visually enticing interactive distributed video billboards driven directly by the games played on the gaming machines.

FIG. 15 is a high-level illustration of a Regulated Gaming Exchange according to an embodiment of the present invention. The present Regulated Gaming Exchange or Gaming Exchange Portal enables (a) freelance game developers 1502 gather intelligence data (e.g., usage metrics) 1534 from players 1526 and other acquired data as described later relative to FIG. 16 such as to offer new and dazzling electronic games 1506 to the gaming marketplace of the regulated casino 1510 and receive compensation as shown at 1522 based on the success of their games based on measured auditing/play metrics 1520 of players 1512 playing the games on the casino gaming machines 1514, and (b) game operators gather intelligence data (such as usage and/or popularity metrics, and other acquired data as described later relative to FIG. 16 for example) 1516 to enables them to tailor their regulated game offerings 1518. Intelligence data (e.g., usage metrics) 1534, 1516 for both the freelance game developers and the game operators are, according to embodiments of the present invention, based on demand/popularity of identical trial games 1506 1538 available to the players 1526 over an Internet portal 1500 through a trial download 1530. As the trial downloaded games (the unregulated first versions of the games) 1530 may use simulated or virtual money only (or no money at all), they are unregulated, as suggested at 1532 by gaming certification lab 1542. In addition, players may be provided, as shown at 1554, with the location of casinos that offer their favorite game(s) and/or other promotions. The games available at the casino (the certified second versions of the games) may include games that may be identical or similar to the downloaded trial games, except the game play thereof may allow for playing with real money or other forms of wagering, may use a certified source of random outcome, may store critical meters on certified non-volatile memory, may provide functionality for player dispute resolution and/or may communicate with a central game management system (such as shown at 1556 in FIG. 15). Such games offered within the casinos or other gaming establishments, contrary to the unregulated downloaded trial games, must be certified by the gaming certification lab 1542. One such certification lab is Gaming Laboratories International, Inc., which certifies submitted game software for compliance against one or more of the following standards: GLI-11 Gaming Devices in Casinos, GLI-12 Progressive Gaming Devices in Casinos or GLI-13 On-Line Monitoring, Control Systems (MCS) and Validation Systems in Casinos and GLI-21 Game Download System.

According to an embodiment of the present invention, players 1526 of the unregulated downloaded trial games may opt to provide information (such as a list of the players' favorite games, for example) to the Gaming Exchange Portal 1500 to enable casino operators and/or select others to offer incentives to attract them to their casino. Alternatively, consent to providing such information may be a pre-condition to downloading and/or playing the trial unregulated games 1536.

Freelance game developers 1502 may enrich the gaming exchange portal 1500 by adapting popular gaming titles 1506 played on PCs or game consoles such as 1508 GameCube, PlayStation and XBOX for play on the floor 1511 of the casino 1510 or by using their experience and expertise to create new unregulated games specifically for the casinos. In this manner, freelance game developers 1502 drive the exchange portal 1500 by adapting popular gaming titles for play on the casino floor or by using their experience and expertise to create new games 1506 specifically for the casino (all games are preferably configured with a standard API). The existing games adapted (with permission) by the freelance developers may originate from the game library of popular console type gaming platforms, such as Microsoft's XBOX or XBOX 360, Sony's Playstation or Nintendo's GameCube (for example), as shown at 1506 or any future gaming system. Games specifically developed for, e.g., the PC or Apple platforms may also be adapted as described above. Alternatively, wholly new games may be developed by the freelance developers. Alternatively still, the makers (or licensees) of such gaming consoles may adapt existing games within their games library in-house in the manner described herein. Once such new or adapted (modified) games are created, the freelance (or in-house) game developers may submit a copy of the new or adapted game along two paths; namely, an unregulated path 1538 and, in cooperation with a licensed game developer 1504 (e.g. Cyberscan, WMS, Bally, etc.), a regulated path 1540.

Such unregulated first versions of games developed by the freelance game developers or others are preferably such that they do not make use of Internet communication and Internet display technologies to execute and play on the home computing device 1528. That is, the unregulated first versions of the games (in contradistinction to the regulated and certified second versions of the same games) preferably do not use Internet communication technologies such as (for example, and without limitation) HTTP Requests, HTTP Replies, cookies and/or Secure Socket Layers (SSL) to play or execute on the player's home computing device 1528 (whether before or after the player has downloaded a copy thereof). Similarly, the unregulated first versions of the games (in contradistinction to the regulated and certified second versions of the same games) preferably do not use Internet display technologies such as (for example and also without limitation) the use of Internet browsers, HTML, Java Scrips, Java applets, Scriptlets, ActiveX controls, plug-ins, pop-ups and/or cookies to ply or operate the games.

In particular, the first outcome-free portion of the unregulated first version of the game is preferably configured to not make use of Internet communication and/or Internet display technologies to execute and play on the home computing device. Similarly, the graphics portions of the unregulated first version of the game is preferably configured to also not make use of Internet communication and/or Internet display technologies to execute and play on the home computing device.

Downloading (but not execution and playing) of the unregulated first versions of games developed by the freelance may, however, make use of Internet communication technologies and Internet display technologies.

Returning now to FIG. 15, once new games are adapted and/or created, game developers 1502 may submit (e.g., upload) a copy of each developed game to the gaming exchange portal 1500 along two paths, an unregulated path 1538, 1536 and a regulated path 1539, 1540, 1544, in cooperation with a licensed game developer 1504 (e.g. Cyberscan, WMS, Bally, etc.) via the appropriate gaming certification laboratory 1542, as required in the appropriate jurisdiction. The freelance game developer may upload separate versions of the developed game for each of a plurality of targeted types of home computing devices. Such computing devices may include, for example, personal computers (which may include, for example, both Windows-based devices and those running a version of an operating system from Apple Computers), game consoles (e.g. XBOX360), portable computers and portable telephones.

According to an embodiment of the present invention, the regulated version of the game submitted along path 1539 1540 comprises the merging of the outcome-free game software of the freelance game developer and the outcome-bearing game software of the licensed game developer that is then submitted to an independent certification lab 1542 to ensure that it meets all gaming and security standards. Once certification is granted, the now certified game 1544 may be loaded into a regulated games repository 1550 of a selectively accessible predetermined computer site (such as a Web site, for example). Gaming machines 1514 located on the floor 1511 of the casino 1510 may then access the certified and regulated games loaded in the regulated games repository 1550 and such games offered to the casino players 1512. As may be required by regulation, the regulated games of the regulated games repository 1550 may be first downloaded to the central system 1556 before being made available to the gaming machines 1514 to allow for a centrally federated enforcement of policies. Alternatively, such certified and regulated games may be made available over a computer network to other computing devices located in other venues (such as hotel rooms or cruise ship staterooms, for example), subject to appropriate security measures and regulatory approval. Suitable means for providing regulated gaming to guest rooms in the hospitality industry are described in commonly assigned and co-pending patent application Ser. No. 11/456,763, filed Jul. 11, 2006, entitled “In-Room Gaming”, which is hereby incorporated herein by reference in its entirety.

As shown in FIG. 15, the unregulated version of the game 1538 may be loaded as a shadow copy in a shadow repository 1548 of the regulated games repository 1550 from which players 1526 at home may download it as shown at 1530 for trial play on their home computers 1528 using an internet connection. Such games may be similar or substantially identical to the games submitted for certification, but for the aspects thereof concerned with money (including the source of randomization used to determine the outcome of the game which may be different in the regulated version of the game than it is in the unregulated version thereof). For example, the two versions of the game may look and play exactly (or nearly exactly) the same. In a preferred embodiment of the invention, the source code of the freelance code for the regulated version of the software and for the unregulated version of the software are substantially identical at least for the code related to providing the dazzling entertaining scenes. For example, if both the gaming machine and the home computer use the PC architecture running under Microsoft Windows, then the source code for both versions of the freelance software (for the regulated game software and for the unregulated game software) may be substantially identical using the same (for example) C# code. Alternatively, if the gaming machine uses the PC architecture running under Microsoft Windows and the home computer uses the XBOX 360, then the source code of the freelance software for both versions (for the regulated game software and for the unregulated game software) may be substantially identical using Visual Studio and XNA Game Studio Express. Alternatively again, if the gaming machine outcome-free entertaining software executes on the XBOX 360 and the home computer uses the PC architecture runs under Microsoft Windows, then the source code of the freelance software for both versions (for the regulated game software and for the unregulated game software) may be substantially identical using (for example) Visual Studio and XNA Game Studio Express. In contrast, some conventional gaming systems make gaming software available for download by players on their home PC. However, such gaming software that is available for download is for evaluation only and does not use the same source code for the non-regulated version of the gaming software as for the regulated version thereof. For example, the non-regulated version of such conventional downloaded evaluation gaming software may execute in a web-browser, while the regulated version of conventional gaming software may execute in a proprietary graphic shell.

In direct contrast, a player of an unregulated game according to embodiments of the present invention downloaded from the exchange 1500 onto his or her home computer or home computing device 1528 (which may include a branded gaming console) will have much the same gaming experience when he or she plays at home as when he or she plays the regulated and certified version of the same game on a regulated gaming machine in a casino or other gaming establishment (but for the wagering aspects of the game which, on the regulated gaming machine, include playing for real money or other tangible value). Usage metrics 1534 from this process may be used to structure game offering menus on the casino floor 1511 such that the most popular gaming titles are front-loaded.

On the floor 1511 of the casino 1510, each gaming machine 1514 records its regulatory meters from which usage metrics 1520 of gaming titles may be derived. An embodiment of the invention may rely on code-signing of game code according to the principles set out in the commonly assigned and co-pending patent application Ser. No. 10/520,831, filed Aug. 12, 2005, entitled “Secure Game Download”, which is hereby incorporated herein by reference in its entirety. A trusted audit trail may also be splashed in the event log. Embodiments of the present invention may allocate an individual PKI certificate to each executable software component of the certified and regulated games and to each of their versions, binding the PKI certificate to the executable software and associating a distinctive policy for each PKI certificate. The PKI certificate's “Subject Name” (or “Issued to” field, or “CommonName” field) may be a concatenation of the software component identification, its version number and optionally other identification characters, for example. In this manner, the “subject name” may also comprise an embedded secure license identifier of the developer for license tracking. Therefore, examination of the game audits reveals the detailed metrics 1520 of each played game and statistics may be generated in order to reward the freelance game developers 1502 with financial compensation as shown at 1522 in accordance with the popularity of their games. Thanks to End-to-End Download Security and Embedded Secure License Identifiers, developers will receive financial compensation in accordance with game success.

A new game submitted along path 1540 may include outcome-free code and outcome-bearing code. The outcome-free code may be developed by the freelance game developers 1502 and the outcome-bearing code may be developed by the supplier game developers 1504, as detailed above. It is to be understood that variations are possible, as those of skill in this art may appreciate. For example, embodiments of the present invention provide for both the outcome-free code and the outcome-bearing code being developed by the same entity, be it the freelance code developers or the supplier game developers. In order to be permitted to enter the regulatory certification cycles, the supplier game developers may take delivery of the outcome-free code developed by the freelance game developers 1502 and may submit the entire code that makes up the new game submitted along path 1540 (i.e., the outcome-free code and the outcome-bearing code) to the certification lab 1542. The outcome-free code may include code that need not be submitted to the certification lab 1542 in source code form. The outcome-bearing code (and the outcome-free code, if needed) may be submitted to the certification lab 1542 in any manner or may be submitted as disclosed in commonly assigned and co-pending patent application Ser. No. 11/251,628, filed Oct. 14, 2005, entitled “Universal Method For Submitting Gaming Machine Source Code Software To A Game Certification Laboratory”, which is hereby incorporated herein by reference in its entirety.

Although less secure than the “compartmented” freelance code described earlier in this specification, another embodiment of the present invention may include submitting to the certification lab an outcome-determining-free game software that includes only graphic rendering code, such as macromedia .swf files for example. Although .swf files do render outcome graphically (i.e. may render a winning number on the video display in response to a provided outcome code) via a Macromedia flash players installed in the gaming machines and in the home computer devices, they do not determine the outcome. The outcome determining game software is a separate code that is developed by the licensed game developer and that is submitted to the gaming software certification laboratory in source code form. The .swf files are derived from the Macromedia Director Studio (a graphic animation studio), are not produced directly by a human programmer and are not directly executable (can only be rendered via a Flash player, noting that the Flash player does not necessary require an Internet web browser to render graphic animations). Consequently, the gaming software certification laboratory may not examine any outcome-determining-free source code. A freelance developer may provide .swf outcome-determining-free files (or equivalent from a different graphic animation studio) for the purpose of the regulated gaming exchange invention described herein. The outcome-determining-free approach is notably adopted by Cyberscan in UK and early deployments in USA for their regulated gaming machines.

The regulated new game 1544 certified by the lab 1542 may be transferred to the gaming exchange portal 1500 in a “regulated games repository” 1550 that contains a plurality of regulated games available for download to authorized parties. A copy of a regulated game 1518 may be downloaded from the regulated games repository 1550 by an operator of the casino 1510 for deployment in the gaming machines 1514 of the casino 1510 after determining (from the usage and popularity metrics 1516, for example) that this game is likely a good fit in his casino for a predetermined profile of players. In turn, the operator of the casino 1510 may send promotional information 1554 (such as casino locations carrying the new game and vouchers) to the gaming exchange portal 1500, to enable the promotional information to be forwarded to the appropriate players 1526 via email or other channels in accordance, for example, with the usage metrics 1534 obtained from the registered players 1526 and their contacts details and preferences 1552, as such players have previously played the unregulated trial version of the game 1530 1532, on their home computers 1528, for example.

The gaming exchange portal 1500 may be configured to deploy policies such as active directory policies (or equivalent ADM policy scripts) to the player's home computer 1528 such as to enforce software installation policies (SIP) and software restriction policies (SRP) in accordance with the principles detailed in commonly assigned and co-pending patent application Ser. No. 10/789,975, filed Feb. 27, 2004, entitled “Dynamic Configuration Of A Gaming System”, which is hereby incorporated herein by reference in its entirety, in order to offer the player some confidence that the origin of the software is from a reputable source, to ensure proper updating of new game software components and to revoke obsolete game software components. Policies may be used to ensure the proper localization variant of the game is executed by the player in accordance with local regulation. Indeed, the player may choose the localization variant of the applicable state where he wishes to try the game or play (for real money or other value) at his or her preferred casino.

A player 1526 playing his or her favorite game on his home computer 1528 may select various presentation preferences such as those described above for “Virtual Display” and store his or her preferences in a player profile, on a local storage or on the gaming exchange portal 1500. When the player 1526 travels to a casino 1510, the player may play his favorite game on a gaming machine 1514 and may also retrieve his or her preferences from the stored player profile. In this manner, the game played on the gaming machine 1514 within the casino 1510 (or other location) appears as it did on his or her home computer 1528—that is, with his or her preferences incorporated in the displayed graphics of the game and/or game play.

FIG. 16 is a high-level illustration of search means for the Regulated Gaming Exchange Portal, according to an embodiment of the present invention. Thanks to the compartmented approach described above in this document that allows freelance developers to offer dazzling games, it is anticipated that the regulated gaming exchange portal will rapidly contain thousand of games and game variants. Therefore, search means are desirable. The Gaming Exchange Portal 1600 may further include a database and search engine means 1606 similar to the ubiquitous Google. In fact, the database and search engine means may be a “Search Appliance” purchased for example from Google (http://www.google.com/enterprise/gsa/index.html) or from another party. The Search Appliance may crawl and scan the content of the gaming exchange portal and create a master index of information that is ready for instant retrieval using Google-like (for example) search technology whenever a player 1624, a freelance developer 1644 or a game operator 1610 types in a search query. The Search Appliance can index millions documents, and its security features ensure that users can only access the information that they have permission to view. The scanned documents may be the player help files that contain the information displayed to the player 1616 on the regulated gaming machines 1614 upon pressing the help menu, associated information available in XML files or other specifically prepared game specification documents. For each game software, the information may comprise attributes 1638 1640 such as the game type (e.g. fruit type X, poker type Y, etc . . . ), the game theme (e.g. English, Chinese, Christmas, Easter, Birthday, Marriage, beginner, advanced, etc.), the return to player (RTP) factor (e.g. 92%, 94%, 98%), the denomination (e.g. 1¢, 5¢, 10¢, 50¢, $1, $10, $50) and the volatility (e.g. high, low, medium, that is win small amounts frequently or win larger amounts less often). In addition to the usage metrics 1534 1626, the database may keep statistics on the frequency of download for each game 1634 1640 and the geographic distribution (using geographic intelligence based on the IP number of the home PC 1622).

Advertising sensing technology may be implemented such as Google AdSense as a fast and easy way for game operators and freelance developers to display relevant ads on their result content pages to offer home players an opportunity to follow links to examine casino promotions 1618 and freelance full size unregulated version of the games 1652. The history of the queries 1630 of each player combined with their usage metrics 1626 may be analyzed to derive intelligence therefrom relative to their preferences, such that the ads and associated links may be tailored according to what the visiting players are looking for.

The database and search engine 1606 may also contain the player profiles 1552 and queries may be formulated to derive intelligence on the most popular player profiles.

The players at home 1624 may formulate a search query 1630 by entering selected game attributes via a search page which is forwarded to the database and search engine 1606. The search engine 1606 may then return a search response 1632 to the player. Freelance developers 1644 may also formulate a search query 1648 by entering selected game attributes via a search page which is forwarded to the database and search engine 1606. The search engine 1606 would then returns a search response 1650. Similarly, the game operator 1610 may formulate search queries and get search responses. A player 1616 on the casino floor 1612 may formulate search queries and obtain search responses whenever the casino operator 1610 provides facilities to access the game exchange portal search engine 1606. Access may be provided to the players directly via the gaming machine 1614 or via auxiliary consoles disposed on the casino floor.

The gaming operator 1610 may, for security reasons, provide an internal database and search engine 1656 connected to the central management system 1654 that provides the same functions as the external database and search engine 1606, and allow the players 1616 to formulate queries related to games and promotions.

While the foregoing detailed description has described preferred embodiments of the present invention, it is to be understood that the above description is illustrative only and not limiting of the disclosed invention. Those of skill in this art will recognize other alternative embodiments and all such embodiments are deemed to fall within the scope of the present invention. Thus, the present invention should be limited only by the claims as set forth below. 

1. A game for execution on a regulated gaming machine, comprising: a first process that executes outcome-free game software and that renders graphic animation in a first video plane; a second process that executes outcome-providing game software and that renders at least one outcome graphics gadget over the first video plane, the at least one outcome graphics gadget being operative to move in synchronism with at least one selected element of the rendered graphic animation and to indicate at least part of a wagering outcome of the game.
 2. The game of claim 1, wherein the outcome-free game software is configured to be independent of the wagering outcome of the game.
 3. The game of claim 1, wherein the outcome-free game software is configured to execute independently of the outcome-providing game software.
 4. The game of claim 1, wherein the outcome-free game software is uncertified by a gaming software certification lab.
 5. The game of claim 1, wherein the outcome-providing game software is certified by a gaming software certification lab.
 6. The game of claim 1, wherein the outcome-free game software is uncertified by a gaming software certification lab and the outcome-providing game software is certified by the gaming software certification lab.
 7. The game of claim 1, wherein the first and second processes execute concurrently.
 8. The game of claim 1, wherein the at least one outcome graphics gadget is configured to be rendered over the at least one selected element of the graphic animation rendered in the first plane.
 9. The game of claim 1, wherein the at least one outcome graphics gadget is operative to move in synchronism with the at least one selected element using motion capture software, the motion capture executing software being isolated from the first process.
 10. The game of claim 1, wherein a motion of the at least one outcome graphics gadget is synchronized with the at least one selected element frame-by-frame.
 11. The game of claim 1, wherein a motion of the at least one outcome graphics gadget is synchronized with the at least one selected element using at least one of: a 2D trajectory path method, a 3D trajectory path method, a camera angle method, a light source characterization method, and a 3D trajectory path method that includes location, scale, rotation and velocity attribute characterization.
 12. The game of claim 1, wherein a motion of the at least one outcome graphics gadget is synchronized with the at least one selected element via at least one of remote procedure call (RPC), Microsoft .NET Remoting, an IP service and a software isolated process (SIP) channel between the first process and second process.
 13. The game of claim 1, wherein a motion of the at least one outcome graphics gadget tracks a motion of the at least one selected element via at least one of an asynchronous remote procedure call (RPC), asynchronous Microsoft .NET Remoting and an asynchronous IP service between the first process and second process.
 14. The game of claim 1, wherein the first process is configured to execute in a first process sandbox in which the first process is given at least one of restricted memory access and restricted execution permissions.
 15. The game of claim 1, wherein the second process is configured to execute in a second process sandbox in which the second process is given at least one of restricted memory access and restricted execution permissions.
 16. The game of claim 1, wherein the first process is configured to execute in a first process sandbox in which the first process is given at least one of compartmented memory access and compartmented execution permissions.
 17. The game of claim 1, wherein the second process is configured to execute in a second process sandbox in which the second process is given at least one of compartmented memory access and compartmented execution permissions.
 18. The game of claim 1, wherein the first process is configured to execute in a first process sandbox, the first process sandbox including a least one of strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and JAVA sandbox.
 19. The game of claim 1, wherein the second process is configured to execute in a second process sandbox, the second process sandbox including a least one of strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and JAVA sandbox.
 20. The game of claim 1, wherein the first process is configured to render its graphics in a video sandbox in which the graphic animation is prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine, and in which unauthorized processes are prevented from reading the display or the video cache.
 21. The game of claim 1, wherein the second process is configured to render its graphics in a video sandbox in which the at least one graphics gadget is prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine and in which unauthorized processes are prevented from reading the display or the video cache such as to determine a wagering outcome of the game.
 22. The game of claim 1, wherein the at least one outcome graphics gadget includes at least one of: a scalable static 2D object; a rotatable static 2D object; a scalable static 3D object; a rotatable static 3D object; a real-time animated 2D object, and a real-time animated 3D object.
 23. The game of claim 1, wherein the at least one selected element of the rendered graphic animation including at least one target that is rendered in the graphic animation such that a motion of the at least one outcome graphics gadget is synchronized to a motion of the at least one target.
 24. The game of claim 23, wherein the at least one outcome graphics gadget is synchronized to the motion of the at least one target using motion capture software that is isolated from the first process.
 25. The game of claim 1, wherein the first process is configured to execute in a first computer and wherein the second process is configured to execute in a second computer that is separate and independent of the first computer.
 26. The game of claim 25, wherein the first computer includes means for rendering graphic animation to a first video output interface and wherein the second computer includes means for rendering the at least one outcome graphics gadget over a neutral background to a second video output interface, a first video signal from the first video output interface being combined with a second video signal from second video output interface in a video display of the gaming machine using a blue-screen technique.
 27. The game of claim 1, wherein the at least one selected element is designated by a target that is recognizable by image analysis software.
 28. The game of claim 27, wherein one of the at least one outcome graphics gadget is overlaid onto the target.
 29. The game of claim 1, wherein the graphic animation rendered by the first process includes a video playback.
 30. A method for operating a regulated gaming machine to enable a player to play a game, comprising: providing outcome-free game software, the outcome-free game software being configured to render graphic animation of the game; executing the outcome-free game software in the gaming machine and rendering the graphic animation in a first video plane; providing outcome-providing game software, the outcome-providing game software being configured to render at least one outcome graphics gadget that is operative to indicate at least part of a wagering outcome of the game, and executing the outcome-providing game software in the gaming machine and rendering the at least one outcome graphics gadget over the first video plane such that the at least one outcome graphics gadget is rendered over and moves in synchronism with at least one selected element of the graphic animation.
 31. The method of claim 30, wherein the outcome-free game software providing step is carried out with the graphic animation being independent of the wagering outcome of the game.
 32. The method of claim 30, wherein the outcome-free game software providing step is carried out with the outcome-free game software being configured to execute independently of an execution of the outcome-providing game software.
 33. The method of claim 30, wherein the outcome-free game software providing and executing steps are carried out with a source code of the outcome-free game software being uncertified by a gaming software certification lab.
 34. The method of claim 30, wherein the outcome-providing game software providing and executing steps are carried out with a source code of the outcome-providing game software being certified by a gaming software certification lab.
 35. The method of claim 30, wherein the outcome-free game software providing and executing steps are carried out with a source code of the outcome-free game software being uncertified by a gaming software certification lab and wherein the outcome-providing game software providing and executing steps are carried out with a source code of the outcome-providing game software being certified by the gaming software certification lab.
 36. The method of claim 30, wherein the outcome-free game software executing step and the outcome-providing game software executing step are carried out concurrently.
 37. The method of claim 30, wherein the at least one outcome graphics gadget is configured to be rendered over the at least one selected element of the graphic animation rendered in the first plane.
 38. The method of claim 30, wherein the outcome graphics gadget rendering step is carried out with the at least one outcome graphics gadget being operative to move in synchronism with the at least one selected element using motion capture software, the motion capture software being isolated from the outcome-free game software.
 39. The method of claim 30, wherein the outcome-providing game software executing step is carried out with the outcome graphics gadget being synchronized with the at least one selected element on a frame-by-frame basis.
 40. The method of claim 30, wherein the outcome-providing game software executing step is carried out with a motion of the outcome graphics gadget being synchronized with the at least one selected element using at least one of: a 2D trajectory path method, a 3D trajectory path method, a camera angle method, a light source characterization method, and a 3D trajectory path method that includes location, scale, rotation and velocity attribute characterization.
 41. The method of claim 30, wherein the outcome-providing game software executing step is carried out with a motion of the at least one outcome graphics gadget being synchronized with the at least one selected element via at least one of a remote procedure call (RPC), Microsoft .NET Remoting, an IP service and a software isolated process (SIP) channel between outcome-free game software and the outcome-providing game software.
 42. The method of claim 30, wherein the outcome-providing game software executing step is carried out with a motion of the at least one outcome graphics gadget being synchronized with the at least one selected element via at least one of an asynchronous remote procedure call (RPC), asynchronous Microsoft .NET Remoting and an asynchronous IP service between outcome-free game software and the outcome-providing game software.
 43. The method of claim 30, wherein the outcome-free game software executing step is carried out in a process sandbox in which the outcome-free game software is given at least one of restricted memory access and restricted execution permissions.
 44. The method of claim 30, wherein the outcome-providing game software executing step is carried out in a process sandbox in which the outcome-providing game software is given at least one of restricted memory access and restricted execution permissions.
 45. The method of claim 30, wherein the outcome-free game software is configured to execute in a first process sandbox in which the first process is given at least one of compartmented memory access and compartmented execution permissions.
 46. The method of claim 30, wherein the outcome-providing game software is configured to execute in a second process sandbox in which the second process is given at least one of compartmented memory access and compartmented execution permissions.
 47. The method of claim 30, wherein the outcome-free game software is configured to execute in a first process sandbox, the process sandbox including a least one of strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and JAVA sandbox.
 48. The method of claim 30, wherein the outcome-providing game software is configured to execute in a second process sandbox, the process sandbox including a least one of strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and JAVA sandbox.
 49. The method of claim 30, wherein the outcome-free game software executing step is carried out to render its graphics in a video sandbox in which the graphic animation is prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine, and in which unauthorized processes are prevented from reading the display or the video cache.
 50. The method of claim 30, wherein the outcome-providing game software executing step is carried out to render its graphics in a video sandbox in which the at least one outcome graphics gadget is prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine and in which unauthorized processes are prevented from reading the display or the video cache such as to determine the outcome of the game.
 51. The method of claim 30, wherein the outcome-providing game software executing step is carried out with the at least one outcome graphics gadget including at least one of: a scalable static 2D object; a rotatable static 2D object; a scalable static 3D object; a rotatable static 3D object; a real-time animated 2D object, and a real-time animated 3D object.
 52. The method of claim 30, wherein the outcome-providing game software executing step is carried out with the at least one selected element of the graphic animation including at least one target, a motion of the at least one outcome graphics gadget being synchronized to a motion of the at least one target.
 53. The method of claim 30, wherein the outcome-free game software executing step is carried out in a first computer and wherein the outcome-providing game software executing step is carried out in a second computer that is separate and independent of the first computer.
 54. The method of claim 53, wherein the outcome-free game software executing step is carried out with the first computer including means for rendering graphic animation to a first video output interface and wherein the outcome-providing game software executing step is carried out with the second computer including means for rendering the at least one outcome graphics gadget over a neutral background to a second video output interface.
 55. The method of claim 54, further including a step of combining a first video signal from the first video output interface with a second video signal from the second video output interface in a video display of the gaming machine using a blue-screen technique.
 56. The method of claim 30, further comprising steps of: designating at least one selected element of the graphic animation by a target that is recognizable by image analysis software, and overlaying one of the at least one outcome graphics gadget onto the target.
 57. The game of claim 30, wherein the graphic animation rendered by the outcome-free game software includes a video playback.
 58. A method of developing a game for a regulated gaming machine, comprising the steps of: adapting a game to render graphic animation in a first video plane and to include a plurality of targets on the graphic animation, the game being of a non-wagering type which does not require certification by a gaming software certification lab; developing outcome-providing game software that renders a plurality of outcome graphics gadgets, each of the plurality of outcome graphics gadget being operative to overlay the first video plane and move in synchronism with a respective one of the plurality of targets and to indicate at least part of a wagering outcome of the game, and obtaining certification from a gaming software certification lab only for the outcome-providing game software.
 59. The method of claim 58, wherein the adapting step is carried out with the graphic animation being independent of the wagering outcome of the game.
 60. The method of claim 58, wherein the adapting step is carried out with the graphic animation being configured to execute independently of an execution of the outcome-providing game software.
 61. The method of claim 58, wherein the adapting step is carried out with a source code of the outcome-free game software being uncertified by a gaming software certification lab.
 62. The method of claim 58, wherein the developing step is carried out with a source code of the outcome-providing game software being certified by a gaming software certification lab.
 63. The method of claim 58, wherein the adapting step is carried out with a source code of the game being uncertified by the gaming software certification lab and wherein the developing step is carried out with the outcome-providing game software being certified by the gaming software certification lab.
 64. The method of claim 58, wherein the adapting step is carried out with executable code of the game being certified by the gaming software certification lab and wherein the developing step is carried out with the outcome-providing game software being certified by the gaming software certification lab.
 65. The method of claim 58, wherein the developing step is carried out such that each of the plurality of outcome graphics gadgets is operative to move in synchronism with a respective one of the plurality of targets using motion capture software, the motion capture executing software being isolated from the adapted game.
 66. The method of claim 58, wherein the developing step is carried out with each of the plurality of outcome graphics gadgets being synchronized with a selected one of the plurality of targets on a frame-by-frame basis.
 67. The method of claim 58, wherein the developing step is carried out with each of the plurality of outcome graphics gadgets being synchronized with a selected one of the plurality of targets using at least one of: a 2D trajectory path method, a 3D trajectory path method, a camera angle method, a light source characterization method, and a 3D trajectory path method that includes location, scale, rotation and velocity attribute characterization.
 68. The method of claim 58, wherein the developing step is carried out with each of the plurality of outcome graphics gadgets being synchronized with a selected one of the plurality of targets via at least one of a remote procedure call (RPC), Microsoft .NET Remoting, an IP service and a software isolated process (SIP) channel between the game and the outcome-providing game software.
 69. The method of claim 58, wherein the developing step is carried out with each of the plurality of outcome graphics gadgets being synchronized with a selected one of the plurality of targets via at least one of an asynchronous remote procedure call (RPC), asynchronous Microsoft .NET Remoting and an asynchronous IP service between the first process and second process.
 70. The method of claim 58, wherein the adapting step is carried out with the game executing in a process sandbox in which a software of the game software is given at least one of restricted memory access and restricted execution permissions.
 71. The method of claim 58, wherein the developing step is carried out such that the outcome-providing game software executes in a process sandbox in which the outcome-providing game software is given at least one of restricted memory access and restricted execution permissions.
 72. The method of claim 58, wherein the adapting step is carried out with the game executing in a process sandbox which is given at least one of compartmented memory access and compartmented execution permissions.
 73. The method of claim 58, wherein the developing step is carried out such that the outcome-providing game software executes in a process sandbox which is given at least one of compartmented memory access and compartmented execution permissions.
 74. The method of claim 58, wherein the adapting step is carried out with the game executing in a process sandbox, the process sandbox including a least one of strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and JAVA sandbox.
 75. The method of claim 58, wherein the developing step is carried out such that the outcome-providing game software executes in a process sandbox, the process sandbox including a least one of strong process isolation, DoD 5200.28-STD multilevel security, Microsoft Software Isolation Process (SIP) and JAVA sandbox.
 76. The method of claim 58, wherein the developing step is carried out such that the outcome-free game software is configured to render its graphics in a video sandbox in which the graphic animation is prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine, and in which unauthorized processes are prevented from reading the display or the video cache.
 77. The method of claim 58, wherein the developing step is carried out with the outcome-providing game software is configured to render its graphics in a video sandbox in which the plurality of outcome graphics gadgets are prevented from being hidden or overlapped by an unauthorized process attempting to write to a display or a video cache of the regulated gaming machine and in which unauthorized processes are prevented from reading the display or the video cache such as to determine the outcome of the game.
 78. The method of claim 58, wherein the developing step is carried out with the plurality of outcome graphics gadgets including at least one of: a scalable static 2D object; a rotatable static 2D object; a scalable static 3D object; a rotatable static 3D object; a real-time animated 2D object, and a real-time animated 3D object.
 79. The method of claim 58, wherein the adapting and developing steps are carried out such that each of the plurality of outcome graphic targets is synchronized using motion capture software to a motion of at least one of the plurality of targets, the motion capture software being isolated from the adapted game.
 80. The method of claim 58, wherein the adapting and developing steps are carried out such that the game is executed in a first computer and wherein the outcome-providing gaming software executes in a second computer that is separate and independent of the first computer.
 81. The method of claim 80, wherein the adapting and developing steps are carried out such that first computer in which the game executes includes means for rendering graphic animation to a first video output interface and wherein the second computer in which the outcome-providing game software executes includes means for rendering the plurality of outcome graphics gadgets over a neutral background to a second video output interface.
 82. The method of claim 81, further including a step of combining a first video signal from the first video output interface with a second video signal from the second video output interface in a video display of the regulated gaming machine using a blue-screen technique.
 83. The method of claim 58, wherein the graphic animation rendered by the game includes a video playback. 